package at.fhj.itm10.ticketmaster.dao;


/**
 * DAO Factory.
 * 
 * @author Wolfgang Gaar, Kevin Reinmueller, Benjamin Hirt
 */
public interface DAOFactory {
	
	/**
	 * Receive CustomerDAO
	 * 
	 * @return CustomerDAO
	 * @throws DAOException
	 */
	public CustomerDAO getCustomerDAO() throws DAOException;
	
	/**
	 * Receive AddressDAO
	 * 
	 * @return AddressDAO
	 * @throws DAOException
	 */
	public AddressDAO getAddressDAO() throws DAOException;
	
	/**
	 * Receive EventDAO
	 * 
	 * @return EventDAO
	 * @throws DAOException
	 */
	public EventDAO getEventDAO() throws DAOException;
	
	/**
	 * Receive OrderDAO
	 * 
	 * @return OrderDAO
	 * @throws DAOException
	 */
	public OrderDAO getOrderDAO() throws DAOException;
	
	/**
	 * Receive TicketDAO
	 * 
	 * @return TicketDAO
	 * @throws DAOException
	 */
	public TicketDAO getTicketDAO() throws DAOException;
	
	/**
	 * Receive EventTypeDAO
	 * 
	 * @return EventTypeDAO
	 * @throws DAOException
	 */
	public EventTypeDAO getEventTypeDAO() throws DAOException;
}
